package com.tedu.api.io;

import org.junit.Test;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;

/**
 * listFilter(接口：Filter)
 * 作用：按照“指定规则”获取对应文件/文件夹
 *
 * Filter接口---专门给listFilter方法提供：过滤文件夹或者文件【指定规则】
 * accept()从每个Filter的文件中判断，拿到【具体逻辑】的文件夹
 *
 * 需求：获取 API 项目下 所有子项【文件和文件夹】，获取src文件
 *      指定规则：验证是s开头就是src
 *作业2：FileFilter接口按照 匿名内部类 方式 实现，功能如上需求
 *    接口：FileFilter  ff=new FileFilter() {accept}
 */
public class FilterAPI {
    //主方法：./ 路径指定根级
    public static void main(String[] args) throws IOException {
        //创建File文件类：获取当前 API 文件夹  路径：./
        //4.创建Filter接口对象---无法直接创建；实现类--实现--接口【创建】
        //2.获取文件夹下的所有“子项：文件夹下包括所有的问价和文件夹“

//        for (int i = 0; i < subs.length; i++) {//i 下标 从0开始
////            System.out.println("所有文件和文件夹名：" + subs[i].getName());
////        }
        //增强for for(接受类型 f:){}
        for (File f:new File("." + File.separator + "API").listFiles(( pathname) -> {return pathname.getName().startsWith("s");})){
            System.out.println("遍历过滤完成："+f);
        }
}
}
    //单元测试：./路径指定父级
     /**@Test

     public void test01() throws IOException {
     //创建File文件类：获取当前 API 文件夹  路径：./
      File file = new File("." + File.separator);
      System.out.println(file.getCanonicalPath());
     return pathname.getName().startsWith("s");
      }*/




